home *** CD-ROM | disk | FTP | other *** search
- /**********************************/
- /* HAPPy Pascal compiler */
- /* P-code ニーモック */
- /* header */
- /* */
- /* Copyright (c) H.Asano 1992 */
- /**********************************/
-
- /****** P-code ニーモニック 定義 (アルファベット順) ******/
-
- enum pcdmnc {
- iABI, /* abolute integer */
- iABR, /* abolute real */
- iADI, /* add integers */
- iADR, /* add reals */
- iAND, /* logical and */
- iBAS, /* load base mark address */
- iCHK, /* check value between bounds */
- iCHR, /* chr */
- iCKA, /* check address */
- iCSP, /* call standard procedure */
- iCUI, /* call user procedure indirect */
- iCUP, /* call user procedure */
- iDEC, /* decrement */
- iDIF, /* difference */
- iDVI, /* divide integers */
- iDVR, /* divide reals */
- iEJP, /* extra block jump */
- iENT, /* enter procedure */
- iEQU, /* equal */
- iFJP, /* jump on false */
- iFLO, /* float integer to real */
- iFLT, /* float integer to real */
- iGEQ, /* grater than equal */
- iGRT, /* grater than */
- iINC, /* increment */
- iIND, /* indexed fetch */
- iINN, /* in operator */
- iINT, /* intersection */
- iIOR, /* logical inclusive or */
- iIXA, /* indeced address */
- iLAO, /* load base-level address */
- iLAP, /* load address of procedure */
- iLCA, /* load address of constant */
- iLDA, /* load level p address */
- iLDC, /* load constant */
- iLDO, /* load contents of base-level address */
- iLEQ, /* less than equal */
- iLES, /* less than */
- iLOD, /* load contents of address at level p */
- iMMS, /* make multiple set */
- iMOD, /* modulo */
- iMOV, /* move */
- iMPI, /* mulutiple integers */
- iMPR, /* mulutiple reals */
- iMSI, /* mask stack indirect */
- iMST, /* mark stack */
- iNEQ, /* not equal */
- iNGI, /* negative integer */
- iNGR, /* negative real */
- iNOT, /* not */
- iODD, /* odd */
- iORD, /* ord */
- iRET, /* return from procedure or function */
- iROU, /* round */
- iSBI, /* subtract integers */
- iSBR, /* subtract reals */
- iSGS, /* create singleton set */
- iSQI, /* square integer */
- iSQR, /* square real */
- iSRO, /* store at base-level address */
- iSTO, /* store indirect */
- iSTP, /* stop */
- iSTR, /* store contents at address at level p */
- iTRA, /* trace of execution */
- iTRC, /* truncate */
- iUJC, /* check uncondition jump */
- iUJP, /* uncondition jump */
- iUNI, /* union */
- iXJP, /* indexed jump */
- iZZZ /* 終わり */
- } ;
-
- /****** P-code 標準関数・手続き ニーモニック 定義 ******/
- enum pcdprmnc {
- pATN, /* arctan */
- pCOS, /* cos */
- pDIS, /* dispose */
- pEOF, /* eof */
- pEOL, /* eoln */
- pEXP, /* exp */
- pGET, /* get */
- pLOG, /* ln */
- pNEW, /* new */
- pPGE, /* page */
- pPUT, /* put */
- pRDC, /* read char */
- pRDI, /* read integer */
- pRDR, /* read real */
- pRLN, /* readln */
- pRST, /* reset */
- pRWT, /* rewrite */
- pSIN, /* sin */
- pSQT, /* sqrt */
- pTGT, /* get text */
- pTPT, /* put text */
- pTRS, /* reset text */
- pTRW, /* rewrite text */
- pWLN, /* writeln */
- pWRB, /* write boolean */
- pWRC, /* write char */
- pWRF, /* write real fix*/
- pWRI, /* write integer */
- pWRR, /* write real */
- pWRS, /* write string */
- pZZZ /* 終わり */
- } ;